<?php
include("./_common.php");
include("$g4[path]/lib/shop.lib.php"); // 상점관련 함수
$shop = get_shop(); //상점정보



//
// 이 페이지는 링크창 + 웹전송 방식의 note_url 샘플입니다.
//
//============================================================================================================
// 주의1 : 이 페이지를 ret_url에 지정하시면 안됩니다. ret_url과 note_url로 돌려드리는 결과값은 차이가 있습니다.
//            본 페이지는 반드시 note_url 에만 지정하셔야 합니다. (* ret_url 은 메뉴얼을 참고로 별도 제작하셔야 합니다)
//
// 주의2 : note_url 페이지의 경우 hashdata 검증이 필수 입니다. 따라서 상점관리자에서 확인된 mertkey값을 아래 
//           샘플내용에 꼭 지정해 주셔야 합니다.
//
// 주의3 : note_url은 LG데이콤 결제서버가 호출하는 페이지로 OK 출력이외의 메시지가 수신될 경우 결과전송에 문제가
//           발생하게 됩니다. html 태그나 자바스크립트 코드를 사용하는 경우 동작을 보장할 수 없습니다.
//
// 주의4 : 정상적으로 data를 처리한 경우에도 LG데이콤에서 OK 응답을 받지 못한 경우는 결제결과가 중복해서 나갈 수 
//           있으므로 관련한 처리도 고려되어야 합니다
//
// 주의5 : 결제에 대한 결과 처리는 각각의 경우에 따라 write_success(),write_failure(),write_hasherr()에서 관련 루틴을
//           추가 하시면 됩니다.
//
// 주의6 : note_url 페이지가 호출이 안되는 경우 상점관리자 페이지(test/service)에서 계약정보 -> 상점정보관리 -> 
//			시스템연동정보에 웹전송 셋팅이 되어 있는지 확인바랍니다.
//============================================================================================================
//
// [ note_url 페이지가 문제가 있는 경우 ]
//
// 상점관리자 페이지-> 결제내역조회 -> 전체거래내역조회 -> 전송실패내역조회 에서 note_url이 LG데이콤으로 응답한 
// 내용을 확인 하실수 있습니다.
// 
// - 서비스 상점관리자 URL : http://pgweb.dacom.net
// - 테스트 상점관리자 URL : http://pgweb.dacom.net/tmert
//


	// 상점연동 function page

	// 데이콤에서 받은 value
	$respcode="";       // 응답코드: 0000(성공) 그외 실패
	$respmsg="";        // 응답메세지
	$hashdata="";       // 해쉬값
	$transaction="";    // 데이콤이 부여한 거래번호
	$mid="";            // 상점아이디 
	$oid="";            // 주문번호
	$amount="";         // 거래금액
	$currency="";       // 통화코드('410':원화, '840':달러)
	$paytype="";        // 결제수단코드
	$msgtype="";        // 거래종류에 따른 데이콤이 정의한 코드
	$paydate="";        // 거래일시(승인일시/이체일시)
	$buyer="";          // 구매자명
	$productinfo="";    // 상품정보
	$buyerssn="";       // 구매자주민등록번호
	$buyerid="";        // 구매자ID
	$buyeraddress="";   // 구매자주소
	$buyerphone="";     // 구매자전화번호
	$buyeremail="";     // 구매자이메일주소
	$receiver="";       // 수취인명
	$receiverphone="";  // 수취인전화번호
	$deliveryinfo="";   // 배송정보
	$producttype="";    // 상품유형
	$productcode="";    // 상품코드
	$financecode="";    // 결제기관코드(카드종류/은행코드)
	$financename="";    // 결제기관이름(카드이름/은행이름)

	$authnumber="";     // 승인번호(신용카드)
	$cardnumber="";     // 카드번호(신용카드)
	$cardexp="";        // 유효기간(신용카드)
	$cardperiod="";     // 할부개월수(신용카드)	
	$nointerestflag=""; //무이자할부여부(신용카드) - '1'이면 무이자할부 '0'이면 일반할부
	$transamount="";    // 환율적용금액(신용카드)
	$exchangerate="";   // 환율(신용카드)

	$pid="";            // 예금주/휴대폰소지자 주민등록번호(계좌이체/휴대폰) 
	$accountowner="";   // 계좌소유주이름(계좌이체) 
	$accountnumber="";  // 계좌번호(계좌이체, 무통장입금) 

	$telno="";          // 휴대폰번호(휴대폰)

    $payer="";           // 입금인(무통장입금)
    $cflag="";           // 무통장입금 플래그(무통장입금) - 'R':계좌할당, 'I':입금, 'C':입금취소
    $tamount="";         // 입금총액(무통장입금)
    $camount="";         // 현입금액(무통장입금)
    $bankdate="";        // 입금또는취소일시(무통장입금)
	$seqno="";			 // 입금순서(무통장입금)
	$receiptnumber="";	 // 현금영수증 승인번호


	$resp = false;      //결과연동 성공여부

	$respcode = get_param("respcode");
	$respmsg = get_param("respmsg");
	$hashdata = get_param("hashdata");
	$transaction = get_param("transaction");
	$mid = get_param("mid");
	$oid = get_param("oid");
	$amount = get_param("amount");
	$currency = get_param("currency");
	$paytype = get_param("paytype");
	$msgtype = get_param("msgtype");
	$paydate = get_param("paydate");
	$buyer = get_param("buyer");
	$productinfo = get_param("productinfo");
	$buyerssn = get_param("buyerssn");
	$buyerid = get_param("buyerid");
	$buyeraddress = get_param("buyeraddress");
	$buyerphone = get_param("buyerphone");
	$buyeremail = get_param("buyeremail");
	$receiver = get_param("receiver");
	$receiverphone = get_param("receiverphone");
	$deliveryinfo = get_param("deliveryinfo");
	$producttype = get_param("producttype");
	$productcode = get_param("productcode");
	$financecode = get_param("financecode");
	$financename = get_param("financename");
	$authnumber = get_param("authnumber");
	$cardnumber = get_param("cardnumber");
	$cardexp = get_param("cardexp");
	$cardperiod = get_param("cardperiod");
	$nointerestflag = get_param("nointerestflag");
	$transamount = get_param("transamount");
	$exchangerate = get_param("exchangerate");
	$pid = get_param("pid");
	$accountnumber = get_param("accountnumber");
	$accountowner = get_param("accountowner");
	$telno = get_param("telno");
	$payer = get_param("payer");
	$cflag = get_param("cflag");
	$tamount = get_param("tamount");
	$camount = get_param("camount");
	$bankdate = get_param("bankdate");
	$seqno= get_param("seqno");
	$receiptnumber= get_param("receiptnumber");
	$receiptkind= get_param("receiptkind");
	$receiptself= get_param("receiptself");
	$useescrow= get_param("useescrow");
	$hashdata2= get_param("hashdata2");


    $mertkey = $shop[shop_mertkey]; //데이콤에서 발급한 상점키로 변경해 주시기 바랍니다.
       
    $hashdata3 = md5($transaction.$mid.$oid.$paydate.$respcode.$amount.$mertkey); 


	$value = array( "msgtype"  		=> $msgtype,
                   	"transaction" 	=> $transaction,      
					"mid"    		=> $mid,     
                   	"oid"     		=> $oid,  
                   	"amount"     	=> $amount,  
                   	"currency" 		=> $currency,
                   	"paytype"  		=> $paytype,
                   	"paydate"  		=> $paydate,
                   	"buyer"   		=> $buyer,  
                   	"productinfo"  	=> $productinfo,  
					"respcode" 		=> $respcode,
                   	"respmsg"  		=> $respmsg,  
                   	"buyerssn"     	=> $buyerssn,  
                   	"buyerid"     	=> $buyerid,  
                   	"buyeraddress"  => $buyeraddress,  
                   	"buyerphone"    => $buyerphone,  
                   	"buyeremail"    => $buyeremail,  
                   	"receiver"     	=> $receiver,  
                   	"receiverphone" => $receiverphone,  
                   	"deliveryinfo"  => $deliveryinfo,  
                   	"producttype"  	=> $producttype,  
                   	"productcode"  	=> $productcode,  
                   	"financecode"  	=> $financecode,  
                   	"financename"  	=> $financename,  
                   	"authnumber"   	=> $authnumber,  
                   	"cardnumber"   	=> $cardnumber,  
                   	"cardexp"     	=> $cardexp,  
                   	"cardperiod"   	=> $cardperiod,  
                   	"nointerestflag"=> $nointerestflag,  
                   	"transamount"  	=> $transamount,  
                   	"exchangerate" 	=> $exchangerate,  
                   	"pid"     		=> $pid,  
                   	"accountnumber"	=> $accountnumber,  
                   	"accountowner" 	=> $accountowner,  
                   	"telno" 		=> $telno,  
                   	"payer" 		=> $payer,  
                   	"cflag" 		=> $cflag,  
                   	"tamount" 		=> $tamount,  
                  	"camount" 		=> $camount,                 
                   	"bankdate" 		=>$bankdate,  
                   	"hashdata"    	=>$hashdata,
                   	"hashdata2"  	=>$hashdata2,
					"seqno"	  		=>$seqno,
					"receiptnumber"	=>$receiptnumber,
					"receiptkind"	=>$receiptkind,
					"receiptself"	=>$receiptself,
					"useescrow"		=>$useescrow);
	
	if ($hashdata2 == $hashdata3)
	{
		if($respcode == "0000")
		{
			$resp = write_success($value);
		}
		else
		{
			$resp = write_failure($value);
		}
	}
	else
	{
		$resp = write_hasherr($value);
	}

   	if($resp)
	{                              //결과연동이 성공이면
   		echo "OK";
   	}
	else
	{                                  //결과연동이 실패이면
   		echo "FAIL";
   	}
?>
